x y
1 22 131
2 41 139
3 52 128
4 23 128
5 41 171
6 54 105
7 24 116
8 46 137
9 56 145
10 27 106
Was ist das, was kann es, was kann es nicht?
Einordnung
Prinzipielle Funktionsweise von neuronalen Netzen
Einfache NN im Detail
Training von NN
Grenzen der KI / prinzipbedingte Schwächen
10 Tauben so gut wie ein Pathologe: youtube
Deep Learning ist der Treiber der jetzigen KI Welle (von 2012) an.
…Mache haben aber mehr Neuronen als andere.
Architektur: “Language Model”
Input: X Sequenz (bis zu 8000 Wörter1)
Output: Y Nächstes Wort (W’keiten)
Typisches Netz 2020 GPT-3 175’000’000’000 Parameter (Neuronen)
Architektur: Bild Klassifikation
Input X Bild z.B. 1024x1024 Pixel
Output Y Klasse Label (eines von 1000)
Typisches Netz 2012 Alex Net 60’000’000 Parameter
Architektur: “fully connected neural network”
Input X 3 Zahlen Wetter heute (1,0,0)
Output 3 Zahlen Wetter morgen (Wahrscheinlichkeiten)
Typisches Netz Fully Connected NN
Architektur Lineare Regresion
Input X Zahl (X=alter)
Output Y Zahl (Y=Blutdruck)
Typisches Lineare Regression Gauss (unpublished ~ 1795), Legendre (1805)
Trainingsdaten: Blutdruck von 33 Nordamerikanischen Frauen (ersten 10)
x y
1 22 131
2 41 139
3 52 128
4 23 128
5 41 171
6 54 105
7 24 116
8 46 137
9 56 145
10 27 106
Aufgabe: Blutdruck für eine 75 jährige Frau (gegeben den Trainingsdaten)?
Source: Colton. Statistics in Medicine (1974)
function lr(pw){
return(
Plot.plot({
marks: [
Plot.dot(dat, {x: "x", y: "y"}),
Plot.line(curve(dat), {x: "x", y: "y"})
],
y: {
label: "Blutdruck",
domain: [80,200]
},
x: {
label: "Alter",
domain: [15,80]
},
width: pw,
height: pw/1.5,
color: "steelblue"
})
)
}
function curve(template){
const ages = template.map(d => d.x);
const [minAge, maxAge] = d3.extent(ages);
const xvals = d3.range(minAge, maxAge, (maxAge - minAge) / 100);
let yhat = xvals.map(x => w*x + b);
return xvals.map((x, i) => ({x, y: yhat[i]})); //Thanks ChatGPT
}
lr(800)Idee?
Modell mit 2 Parametern \(w,b\), welches für jedes gegebenes Alter (\(x\)) den Blutdruck(\(y\)) vorhersagt:
\[ y = w \cdot x + b \]
function color(value) {
return d3.scaleLinear().domain([-1, 0, 1]).range(['blue', 'gray', 'green'])(value);
}
function lw(value) {
return d3.scaleLinear().domain([-1, 1]).range([0.1, 1])(value);
}
dot`${my_graph}`my_graph = `digraph {
node [fontsize=20, fontname=Arial];
node [fixedsize=true, width=0.6, height=0.6];
edge [arrowhead=vee, arrowsize=0.7];
//b -> Y[penwidth=${10*lw(Math.abs(b))}, label=${b}]; //<-- Change the factor here
b -> Y[penwidth=2, label=${b}];
x1 -> Y[penwidth=2, label=${w}];
x1 [label="x", pos="0,0"];
b [label="1", pos="0,2"];
Y [label="y", pos="1,0.8"];
//x1 [label="x", pos="0,0"];
//b [label="1", pos="2,0"];
//Y [label="y", pos="1,1"];
}`Lineare regression hat 2 parameter (slider)
Grosse Netze haben Mio/Mrd parameter
Training Minimierung einer Verlustfunktion auf den Trainingsdaten
Frage: Wie gut sagt das Model die Daten vorher (Maximum Likelihood Prinzip)
Algorithmus Backpropagation (Rummelhard)
Training von großen Netzten große technoligische Herausforderung
Vorhersagen nur so gut wie Trainingsbeispiele!
Rumelhart, Hinton, and Williams (1986)
Transformer Architecture / self attention
“trained with maximum likelihood”
Generative Language Model […] predict next token in a sequence of tokens
Wahrscheinlichkeiten (des Sprachmodels) für das nächste Wort
trinken (70%)
bieremoji (15%)
oder (10%)
sonstige kummuliert (5%)
Steps 1: Describe your technology in one sentence. -> I
Steps 2: Describe your technology in one sentence. I -> am
Steps 3: Describe your technology in one sentence. I am -> a
Steps 4: Describe your technology in one sentence. I am a -> generative
…
Step 36 Describe your technology in one sentence. I am a … new text. -> <END>
Beim Text wird das nächste Wort proportional zur Wahrscheinlichkeit ausgewürfelt.
Vorhersage des nächsten Worts
Muss keine Daten labeln
Trainingsdaten “Internet” (common crawl)
CO2 äquivalent 120 Auto für ein Jahr
Finetuning als Chatbot
Einfachstes Beispiel lineare Regression
Die Parameter werden an Trainingsdaten gefittet
Oder prägnanter…
<<All the impressive achievements of deep learning amount to just curve fitting>>
Juda Pearl, 2018
Einfach Modelle, wie lineare Regression können interpretiert werden.
Wichtigkeit von bestimmten Eingangsdaten für die Entscheidungen.1
Komplexe Modelle oft in den Vorhersagen besser.
Kombination von einfachen interpretierbaren mit komplexen Modellen1
Beispiel Vorhersage von Hautkrebs
Bild Daten mit tiefen NN
Alter mit linearer Regression
KI ist ein hilfreiches Werkzeug
Code für Aniationen wurde mit ChatGPT entwickelt
Viele Nüzliche Anwendungen Medizin, Stromvorhersage,…
Allerdings
Nur so gut wie Trainingsdaten
Schwer (bis unmöglich) bias rauszubekommen
Overconfidence
Nicht robust
Nicht kausal
DL so gut wie PathologInnen …
Elvis Murina, Ruben Casanova, Hanna Honcharova-Biletska, Bart Vrugt, Alex Soltermann, Oliver Dürr, Beate Sick Deep Learning for Classification of Non-Small Cell Lung Cancer histologic subtypes. Poster ALMD 2019